<#-- 类似于三元表达式，直到找到一个非空的值 -->
<#macro firstNotEmpty firstValue otherValues...>
	<#if firstValue??>
		${firstValue}
	<#else>
		<#list otherValues as x>
			<#if x??>
				${x}
				<#break>
			</#if>
		</#list>
	</#if>
</#macro>


<#-- 从map中取值，key值支持数字和字符串两种 -->
<#macro mapGet map key="" >
	<#if !map?? || !key??>
	<#else>
		<#list map as k, v>
			<#if (key?is_number && k == key?c) || (key?is_string && k == key)>
				${v}
				<#break>
			</#if>
		</#list>
	</#if>
</#macro>


<#-- 格式化时间 yyyy-MM-dd HH:mm:ss -->
<#macro dateFormat date="" format="yyyy-MM-dd HH:mm:ss" >
<#if !date?? || (date?is_string && date=="") || !format??><#else><#if date?is_date>${date?string(format)}<#else>${date}</#if></#if>
</#macro>

